Skip to content

Conversation

@ajanuar
Copy link
Contributor

@ajanuar ajanuar commented Dec 1, 2025

Summary

  • Add --use-app-entitlements flag to sign:ios command that preserves app-specific entitlements when re-signing
  • Extracts existing entitlements from the app binary and merges them with the new provisioning profile entitlements
  • Based on fastlane's use_app_entitlements functionality

When re-signing an iOS app with a new provisioning profile, certain entitlements (like keychain-access-groups, iCloud services, associated domains, app groups) need to be transferred from the original app to preserve functionality. This flag enables that behavior.

Transfer rules include: iCloud containers, keychain-access-groups, associated-domains, app groups, HealthKit, HomeKit, Siri, NFC, and more, as defined in https://developer.apple.com/documentation/bundleresources/entitlements

Test plan

  • Added unit tests for mergeEntitlements with plist fixtures
  • Manual test: Re-sign an app with --use-app-entitlements and verify entitlements are preserved

Fixes #611

@vercel
Copy link

vercel bot commented Dec 1, 2025

@ajanuar is attempting to deploy a commit to the Callstack Team on Vercel.

A member of the Team first needs to authorize it.

@ajanuar ajanuar changed the title Chore/add use app entitlements to sign ios iOS: Merge app entitlements & provisioning profiles entitlements Dec 3, 2025
@ajanuar ajanuar marked this pull request as ready for review December 3, 2025 12:08
@ajanuar ajanuar changed the title iOS: Merge app entitlements & provisioning profiles entitlements feat: Merge app entitlements & provisioning profiles entitlements for iOS builds Dec 3, 2025
@ajanuar
Copy link
Contributor Author

ajanuar commented Dec 3, 2025

Hi @thymikee , this PR is ready to review. I'm doing testing internally with my project, i'll update it here with the result.

@thymikee thymikee changed the title feat: Merge app entitlements & provisioning profiles entitlements for iOS builds feat(iOS): --use-app-entitlements for merging app entitlements & provisioning profiles entitlements Jan 9, 2026
@thymikee thymikee merged commit 8ec7496 into callstackincubator:main Jan 9, 2026
3 of 4 checks passed
@thymikee
Copy link
Contributor

thymikee commented Jan 9, 2026

Thank you @ajanuar!

@ajanuar
Copy link
Contributor Author

ajanuar commented Jan 9, 2026

Thank you @thymikee !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support --use-app-entitlements like in fastlane resign.

2 participants